package br.com.financeiroweb.pojo;
// default package
// Generated 28/09/2014 14:04:16 by Hibernate Tools 4.0.0

import static javax.persistence.GenerationType.IDENTITY;

import java.util.HashSet;
import java.util.Set;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;

/**
 * Endereco generated by hbm2java
 */
@Entity
@Table(name = "endereco", catalog = "financeiroweb")
public class Endereco implements java.io.Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private Integer id;
	private String rua;
	private int numero;
	private int cep;
	private String bairro;
	private String municipio;
	private String pais;
	private String outro;
	private String estado;
	private Set<Empresa> empresas = new HashSet<Empresa>(0);
	private Set<ClienteFornecedor> clienteFornecedors = new HashSet<ClienteFornecedor>(
			0);

	public Endereco() {
	}

	public Endereco(String rua, int numero, int cep, String bairro,
			String municipio, String pais, String outro, String estado) {
		this.rua = rua;
		this.numero = numero;
		this.cep = cep;
		this.bairro = bairro;
		this.municipio = municipio;
		this.pais = pais;
		this.outro = outro;
		this.estado = estado;
	}

	public Endereco(String rua, int numero, int cep, String bairro,
			String municipio, String pais, String outro, String estado,
			Set<Empresa> empresas, Set<ClienteFornecedor> clienteFornecedors) {
		this.rua = rua;
		this.numero = numero;
		this.cep = cep;
		this.bairro = bairro;
		this.municipio = municipio;
		this.pais = pais;
		this.outro = outro;
		this.estado = estado;
		this.empresas = empresas;
		this.clienteFornecedors = clienteFornecedors;
	}

	@Id
	@GeneratedValue(strategy = IDENTITY)
	@Column(name = "id", unique = true, nullable = false)
	public Integer getId() {
		return this.id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	@Column(name = "rua", nullable = false, length = 100)
	public String getRua() {
		return this.rua;
	}

	public void setRua(String rua) {
		this.rua = rua;
	}

	@Column(name = "numero", nullable = false)
	public int getNumero() {
		return this.numero;
	}

	public void setNumero(int numero) {
		this.numero = numero;
	}

	@Column(name = "cep", nullable = false)
	public int getCep() {
		return this.cep;
	}

	public void setCep(int cep) {
		this.cep = cep;
	}

	@Column(name = "bairro", nullable = false, length = 100)
	public String getBairro() {
		return this.bairro;
	}

	public void setBairro(String bairro) {
		this.bairro = bairro;
	}

	@Column(name = "municipio", nullable = false, length = 100)
	public String getMunicipio() {
		return this.municipio;
	}

	public void setMunicipio(String municipio) {
		this.municipio = municipio;
	}

	@Column(name = "pais", nullable = false, length = 20)
	public String getPais() {
		return this.pais;
	}

	public void setPais(String pais) {
		this.pais = pais;
	}

	@Column(name = "outro", nullable = false, length = 45)
	public String getOutro() {
		return this.outro;
	}

	public void setOutro(String outro) {
		this.outro = outro;
	}

	@Column(name = "estado", nullable = false, length = 2)
	public String getEstado() {
		return this.estado;
	}

	public void setEstado(String estado) {
		this.estado = estado;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "endereco")
	public Set<Empresa> getEmpresas() {
		return this.empresas;
	}

	public void setEmpresas(Set<Empresa> empresas) {
		this.empresas = empresas;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "endereco")
	public Set<ClienteFornecedor> getClienteFornecedors() {
		return this.clienteFornecedors;
	}

	public void setClienteFornecedors(Set<ClienteFornecedor> clienteFornecedors) {
		this.clienteFornecedors = clienteFornecedors;
	}

}
